// pages/Top/Top.js
import request from '../../utils/request'
import Pubsub from 'pubsub-js'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    playlist:{},//头部信息
    tracks:[],//歌单数据
id:0,//当前榜单页面id
index:0,//当前歌曲下标
trackid:[]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // console.log(options.id);
this.setData({
  id:options.id
})
this.topDetail(options.id)

//订阅来自songDetail页面发布的消息
Pubsub.subscribe("switch",(msg,type)=>{
  console.log(type,"top");
  let {tracks,index} =this.data
  if(type=='pre'){
    (index===0)&&(index=tracks.length)
  index-=1
  }else{
    (index===tracks.lengt-1)&&(index-=1)
    index+=1
  }
  this.setData({
    index
  })
  let musicId =tracks[index].aid
  //将musciId回传给songDetail
  Pubsub.publish("musicId",musicId)
})
  },

  //跳转歌曲详情页
  toSongDetail(event){
  this.setData({
    index:event.currentTarget.dataset.index
  })
 let id=event.currentTarget.dataset.id
// wx.setStorageSync("song",event.currentTarget.dataset)
    wx.navigateTo({
      url: `/pages/songDetail/songDetail?id=${id}`,
    })
  },
//获取榜单信息
async topDetail(id){
let result =await request("/playlist/detail",{
  id
})

let trackid =result.data.playlist.trackIds

let index=0
let tracks=result.data.playlist.tracks.map(item=>{
  item.id=++index;
  return item
})
for(let i=0;i<tracks.length;i++){
  tracks[i].aid=trackid[i].id
}

this.setData({
  playlist:result.data.playlist,
  tracks,
  trackid
})
},
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})